package com.youxin.cpcenter.service;

import com.youxin.busfoundation.bean.ResponseObject;
import com.youxin.cpcenter.bean.RequestOrderInfoBean;
import com.youxin.cpcenter.bean.RequestTradeQueryBean;
import com.youxin.cpcenter.model.TbMemberInfo;
import com.youxin.cpcenter.model.TbOrderInfo;

/**
 * 
 * @ClassName: TransactionService 
 * @Description: 支付交易数据处理 
 * @author yingde.cao
 * @date 2017年12月16日 下午3:22:10 
 *
 */
public interface TransactionService {
	
	/**
	 * 
	 * @Title: procesPayTransaction 
	 * @Description: 支付事物处理
	 * @param @param requestBean
	 * @param @param memberInfo
	 * @param @param orderSn
	 * @param @return
	 * @return String
	 * @throws
	 */
	public String procesPayTransaction(RequestOrderInfoBean requestBean, TbMemberInfo memberInfo, String orderSn);
	/**
	 * 
	 * @Title: procesNotifyTransaction 
	 * @Description: 支付回调事物处理
	 * @param @param model
	 * @param @return
	 * @return String
	 * @throws
	 */
	public String procesNotifyTransaction(TbOrderInfo model );
	
	/**
	 * 
	 * @Title: alipayTradeQuery 
	 * @Description: 阿里支付交易结果查询
	 * @param @param orderSn
	 * @param @param platformNo
	 * @param @return
	 * @return ResponseObject
	 * @throws
	 */
	public ResponseObject alipayTradeQuery(String orderSn);
	
	/**
	 * 
	 * @Title: wxTradeQuery 
	 * @Description: 微信交易结果查询
	 * @param @param requestBean
	 * @param @return
	 * @return ResponseObject
	 * @throws
	 */
	public ResponseObject wxTradeQuery(RequestTradeQueryBean requestBean);
	public TbOrderInfo queryWx(String orderSn);
	public TbOrderInfo queryAlipay(String orderSn);
	public ResponseObject procesResponseStatus(TbOrderInfo model);
}

